

		COLORAREA POLIGOANELOR
	       ------------------------

	Se da un dreptunghi prin coordonatele coltului din stanga sus si dreapta jos. Se duc drepte
specificate prin coordonatele a doua puncte. Sa se coloreze cu un numar minim de culori poligoanele
din interiorul dreptunghiului, determinate de dreptele date, astfel incat doua poligoane vecine sa
nu fie colorate la fel.
	Se considera ca doua poligoane sunt vecine daca au o latura comuna.

DATE DE INTRARE:
	Datele de intrare sunt citite din fisierul "COLOR.TXT", care cuprinde mai multe seturi de
date separate de cate o linie vida
	Pentru un set, structura este urmatoarea:
	- o linie cu coordonatele colturilor dreptunghiului separate prin spatiu
	- pe cate o linie coordonatele, separate prin spatiu, ale perechilor de puncte care deter-
mina dreptele.

	Iesirea se realizeaza grafic. Pentru monitoarele monocrom se vor folosi nuante de gri sau
hasurari diferite. 

SOLUTIE:
--------
	Daca dreptele se traseaza pe rand si se face colorarea ceruta la fiecare pas, se observa
ca sunt suficiente 2 culori pt. rezolvarea problemei
	Se pleaca cu dreptunghiul ca poligon initial care se coloreaza in rosu. Se traseaza prima
dreapta si daca es taie dreptunghiul, se coloreaza in albastru poligonul din semiplanul pozitiv
dterminat de dreapta. Figura este colorata acum cu 2 culori. Daca se traseaza o alta dreapta, po-
ligoanele din fiecare semiplan sunt colorate corect, insa figura nu este colorata corect. Deoarece
intr-un semiplan colorarea este corecta, vom schimba culorile poligoanelor din celalalt semiplan,
dupa cum se vede mai jos:

---------   ---------     ---------	---------	   ---------
| 1     |   |  1| 1 |	  | 1 |	2 |     | 1 | 2 |	   | 1 | 2 |
|       |   |   |   |	  |   |   |	|---|---|          |---|---|
|       |   |   |   |	  |   |	  |	| 1 | 2 |          | 2 | 1 |
---------   ---------	  ---------	---------          ---------
 corect      incorect       corect       incorect            corect

	Se procedeaza analog pt. fiecare din dreptele date.
	Cand o dreapta taie un polign, acesta se va rupe in 2 poligoane. Pentru a evita operatiile
de copiere necesare in acest caz, poligoanele se reprezinta sub forma unei liste inlantuite.